// Copyright (c) 2025 Bytedance Ltd. and/or its affiliates
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

import Link from 'next/link'
import HeaderUserMenu from '@/components/HeaderUserMenu'
import Cart from '@/components/Cart'
import './global.css'
import { AuthProvider } from '@/context/auth'
import { getCurrentUser } from '@/actions/auth'

export const metadata = {
  title: 'Next.js',
  description: 'Generated by Next.js',
}

export default async function RootLayout({ children }: { children: React.ReactNode }) {
  const initAuth = await getCurrentUser()

  return (
    <html lang="en">
      <body>
        <AuthProvider initAuth={initAuth || {}}>
          <header className="site-header">
            <Link href="/">
              <h1>🛍️ WebBench Shopping Mart</h1>
            </Link>
            <HeaderUserMenu />
          </header>
          <main>{children}</main>
          <footer className="site-footer">
            <p>Copyright: Web Bench</p>
          </footer>
          <Cart />
        </AuthProvider>
      </body>
    </html>
  )
}